package org.zhadoop.streaming.util.datatype;

import java.io.Serializable;

import org.zhadoop.streaming.exception.StreamingException;

/**
 * 数据类型解析
 * 以前使用的是枚举类型，只会有一个实例
 * 不适合多客户端多时区场景，没办法实现CQL的多客户端并发。
 * @author zwd
 *
 */
public interface DataTypeParser extends Serializable{
	
	/**
	 * 创建对应数据类型实例，如果为空，返回null
	 * @param value
	 * @return
	 * @throws StreamingException
	 */
	Object createValue(String value) throws StreamingException;
	
	/**
	 * 将原始数据类型转为对应的数据类型字符串形式
	 * @param value
	 * @return
	 * @throws StreamingException
	 */
	String toStringValue(Object value) throws StreamingException;
}
